System and method for platform resilient voip processing

ABSTRACT

A system and method for platform resilient VoIP (Voice over Internet Protocol) processing in a partitioned environment. The system comprises a plurality of soft partitions. At least one soft partition is a sequestered partition. The sequestered partition includes one or more core processors having a controlled, real-time operating system and at least one network interface card (NIC) coupled to the one or more core processors. The NIC is dedicated to the sequestered partition, and the one or more core processors are used as an offload engine solely dedicated to Voice over Internet Protocol (VoIP) processing.

CROSS-REFERENCE TO RELATED U.S. PATENT APPLICATION

This application is a continuation application of U.S. patentapplication Ser. No. 11/644,407, entitled “System and Method forPlatform Resilient VOIP Processing,” which was filed on Dec. 22, 2006.

TECHNICAL FIELD

The present invention is generally related to partitioning in computersystems. More particularly, the present invention is related to a systemand method for platform resilient VoIP (Voice over Internet Protocol)processing in a partitioned environment.

BACKGROUND

Problems exist today when trying to deploy VoIP as a ubiquitous featurein a consumer environment. Unlike traditional wired telephone service,the current state of the art for VoIP is highly susceptible to drop-outs(i.e., dropped calls) and significant system lags/delays in transmissionstreaming. Another problem associated with current day VoIP is spottypeer-to-peer handshake communication.

Many of the problems encountered by VoIP often times have to do with theplatform configuration and the software environment in which VoIPoperates; not in the underlying network service. Often times theproblems that occur are associated with bad driver functionality, verypoor real-time support with the operating system (OS), viruses, delays,bad timing algorithms that cause the network to slow down or the machineto hang for inexplicable periods of time, etc. An OS is very prone todriver instability which may lead to critical errors in overallcomponent operations as well as time-critical streaming services.Problems may also be associated with poorly controlled environmentswhere untested software combinations have been employed which may causeodd interactions with other components in the software stack.

If any of these problems occur when running active voice software in abackbone call server, gateway, a softphone or in terminal IP phone,etc., dropped calls and garbled data are sure to result. For example, acall server having a VoIP engine that resides within the host partitionand operates from the same operating system as the host partition issusceptible to these problems. If the operating system crashes, so doesthe VoIP engine. If a device driver suddenly or unexpectedly turns itsinterrupts off and gets stuck in a loop for an excessive period of time,the system is delayed, which includes delays for VoIP messages.

Thus, what is needed is a system and method that separates the VoIPfunctionality from the normal operations of a computer. What is alsoneeded is a system and method that provides a VoIP offload that operatesindependent of the host partition and its operating system. What isfurther needed is a system and method that provides a VoIP systemcapable of operating with the same reliability as a traditional POTS(Plain Old Telephone Service) system.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated herein and form partof the specification, illustrate embodiments of the present inventionand, together with the description, further serve to explain theprinciples of the invention and to enable a person skilled in thepertinent art(s) to make and use the invention. In the drawings, likereference numbers generally indicate identical, functionally similar,and/or structurally similar elements. The drawing in which an elementfirst appears is indicated by the leftmost digit(s) in the correspondingreference number.

FIG. 1 is a block diagram illustrating an exemplary platform topology ofa soft-configurable partitioning environment having a VoIP offload in asequestered partition according to an embodiment of the presentinvention.

FIG. 2 is a block diagram illustrating another exemplary platformtopology of a soft-configurable partitioning environment having a VoIPoffload in a sequestered partition according to an embodiment of thepresent invention.

FIG. 3 is a block diagram illustrating an embodiment of the presentinvention in an exemplary virtualized environment according to anembodiment of the present invention.

FIGS. 4A and 4B are a flow diagram describing an exemplary method forenabling a VoIP offload in a sequestered partition according to anembodiment of the present invention.

DETAILED DESCRIPTION OF THE DRAWINGS

While the present invention is described herein with reference toillustrative embodiments for particular applications, it should beunderstood that the invention is not limited thereto. Those skilled inthe relevant art(s) with access to the teachings provided herein willrecognize additional modifications, applications, and embodiments withinthe scope thereof and additional fields in which embodiments of thepresent invention would be of significant utility.

Reference in the specification to “one embodiment”, “an embodiment” or“another embodiment” of the present invention means that a particularfeature, structure or characteristic described in connection with theembodiment is included in at least one embodiment of the presentinvention. Thus, the appearances of the phrase “in one embodiment” or“in an embodiment” appearing in various places throughout thespecification are not necessarily all referring to the same embodiment.

Embodiments of the present invention are directed to a system and methodfor a VoIP (Voice over Internet Protocol) service that operatesaccording to reliability standards of a POTS (Plain Old TelephoneService) system. This is accomplished by constructing a VoIP offloadthat is solely dedicated to a software-based sequestered partition andis independent of any other software as its root. By offloading the VoIPoperation to a dedicated sequestered partition, errors and/or failuresthat occur within a host partition have no effect on VoIP operations. Inother words, when the host partition fails, dies, or needs to berebooted, the VoIP offload is not affected. By introducing a capabilitythat is traditionally a feature that depends on a complex stack ofsoftware and making it part of a platform deployment that is agnostic tothe main partition software stack, a general purpose personal computer(PC) can cooperatively and reliably support VoIP and other types ofspecial purpose capabilities.

Embodiments of the present invention may be implemented using hardware,software, or a combination thereof and may be implemented in one or moremulti-core processor platforms or other single-core processing systems.In fact, in one embodiment, the invention is directed toward one or moremulti-core processor platforms capable of carrying out the functionalitydescribed herein. FIG. 1 illustrates an exemplary platform topology 100of a soft-configurable partitioning environment having a VoIP offload ina sequestered partition according to an embodiment of the presentinvention. Various embodiments are described in terms of this exemplarypartitioning scheme 100. After reading this description, it will beapparent to a person skilled in the relevant art(s) how to implement theinvention using other partitioning schemes and/or other computerarchitectures. For example, embodiments of the present invention aredescribed using two partitions for simplicity, a main host partition anda sequestered partition. One skilled in the relevant art(s) would knowthat an implementation of an embodiment of the present invention havingmore than two partitions with at least one of the partitions being asequestered partition having a VoIP engine may be used as well.

Partitioning scheme 100 comprises a main partition 102 and a sequesteredpartition 104. In one embodiment, main partition 102 and sequesteredpartition 104 are unaware that they co-exist. In other words, mainpartition 102 may not be aware of sequestered partition 104 and viceversa. In another embodiment of the present invention, main partition102 and sequestered partition 104 may know that they co-exist.

Each partition (102, 104) has a plurality of multi-core processors on atleast one socket. For example, main partition 102 includes a pluralityof multi-core processors (cores 0-3) on sockets 0, 1, and 2, and asingle core processor (core 0) on socket 3. Main partition 102 may alsoallow multiple OSs (Operating Systems) as guests of main partition 102.For example, main partition 102 may allow a Windows OS and a Linux OS torun concurrently on different dedicated core processors of mainpartition 102 without either OS knowing that the other exists.

Note that in the present example, socket 3 receives data from mainpartition 102 and sequestered partition 104 while sockets 0, 1, and 2receive data from main partition 102. Each core processor is a completeand functional processor designed into its corresponding socket.

Sequestered partition 104 includes multi-core processors (cores 1, 2,and 3) on socket 3. In embodiments of the present invention, sequesteredpartition 104 may have its own operating system, independent from anyoperating systems running on main partition 102. The operating system ofsequestered partition 104 may be a very specific controlled, real-timeoperating system having VoIP software applications. The operating systemof sequestered partition 104 may be very well validated with no externaldrivers. The use of a controlled, real-time operating system independentfrom the operating system(s) of main partition 102 provides VoIPfunctionality that is free from many of the problems associated withplatform configurations in which a single operating system controls bothmain partition functionality and VoIP functionality.

In an embodiment, one or more core processors may be used to accomplisha specific functionality. For example, sequestered partition 104 havingcore processors 1, 2, and 3 on socket 3 may be used as an offload enginesolely dedicated to VoIP functionality while main partition 102 havingmulti-core processors 0-3 on sockets 0, 1, and 2 and single coreprocessor 0 on socket 3 may be dedicated to other user operations of theplatform, separate and distinct from VoIP operations. In such anembodiment, sequestered partition 104 may include a VoIP offload engine128 and an operating system solely dedicated to executing VoIPapplications, thereby making it much more tolerant to the instabilitiesassociated with main partition 102. In other embodiments, thefunctionality of multi-core processors on sockets 0, 1, and 2, andsingle core processor 0 on socket 3 of main partition 102 may be usedfor multiple functions, apart and distinct from the VoIP functionalityof sequestered partition 104. For example, multi-core processors onsockets 0 and 1 may be dedicated to running applications resident inmemory while multi-core processors on socket 2 and single-core processor0 on socket 3 may be used for Internet/Intranet use or as another typeof offload engine.

Each core processor (core 0, core 1, core 2, and core 3) on sockets 0,1, 2, and 3 communicates with a memory controller hub (MCH) 106, alsoknown as a North bridge, via a front side bus 108. MCH 106 communicateswith system memory 110 via a memory bus 112. System memory 110 ispartitioned into two parts, Mem 1 and Mem 2. Mem 1 is used to store datafor main partition 102 and Mem 2 is used to store data for sequesteredpartition 104. MCH 106 recognizes the partitioning and will route memoryrequests from main partition 102 to Mem 1 and memory requests fromsequestered partition 104 to Mem 2. MCH 106 may also communicate with anadvanced graphics port (AGP) 114 via a graphics bus 116.

MCH 106 communicates with an I/O controller hub (ICH) 118, also known asa South bridge, via a peripheral component interconnect (PCI) bus 120.ICH 118 may be coupled to one or more I/O (Input/Output) componentdevices, such as, but not limited to, a plurality of network interfacecontrollers (NICs) 122, 124, and 126 via a PCI bus 134. In an embodimentof the present invention, NICs 124 and 126 are I/O devices dedicatedsolely to main partition 102 and NIC 122 is an I/O device dedicatedsolely to sequestered partition 104.

Although other types of I/O component devices may be used, NICs 122,124, and 126 were chosen as exemplary I/O component devices for enablingIP (Internet Protocol) network communications for both main partition102 and sequestered partition 104, respectively. One skilled in therelevant art(s) would know that other I/O component devices capable ofenabling IP (Internet Protocol) network communications may be used aswell.

Core processors 0-3 may be IA64 (Itanium) processors manufactured byIntel® Corporation, located in Santa Clara, Calif., or any other type ofprocessors capable of carrying out the methods disclosed herein.Although FIG. 1 shows four core processors on a single socket, theinvention is not limited to four core processors on a single socket. Inother embodiments there may be more than four core processors on asingle socket or less than four core processors on a single socket. Oneor more of the core processors may include multiple threads as well.

As previously indicated memory 110 is partitioned into two parts, Mem 1and Mem 2 for use by main partition 102 and sequestered partition 104,respectively. Memory 110 may be a hard disk, a floppy disk, randomaccess memory (RAM), read only memory (ROM), flash memory, or any othertype of medium readable by core processors 0-3. Memory 110 may storeinstructions for performing the execution of method embodiments of thepresent invention.

Nonvolatile memory, such as Flash memory 132, may be coupled to ICH 118via a SPI (System Parallel Interface) bus 130. In embodiments of thepresent invention, BIOS firmware may reside in Flash memory 132 and atboot up of the platform, instructions stored on Flash memory 132 may beexecuted. In an embodiment, Flash memory 132 may also store instructionsfor performing the execution of method embodiments described herein.

VOIP offload engine 128 allows telephony usage over an IP (InternetProtocol) network through the digitization and packetization of voicetransmissions. VOIP offload engine 128 converts analog voice signals todigital signals, which are then compressed and translated into digitalpackets for transmission over the Internet to a receiver. The receivercan then decompress and depacketize the data back into an analog signalfor listening over a speaker, earpiece, or any other device that enablesone to hear analog signals.

FIG. 2 is a block diagram illustrating another exemplary platformtopology of a soft-configurable partitioning environment having a VoIPoffload in a sequestered partition according to an embodiment of thepresent invention. Platform topology 200 comprises a host partition 202and a sequestered partition 204. Host partition 202 comprises anoperating system (OS) 206, such as, for example, Windows® XP byMicrosoft Corporation, a plurality of CPUs 208 a, . . . 208 n, apartitioned portion of memory 210 a, and a plurality of I/O devices 212a, . . . , 212 n, such as, for example, network interface cards or NICs,a hard drive, a flash memory, a keyboard, a mouse, etc. Sequesteredpartition 204 comprises a real-time operating system dedicated torunning VoIP applications 214, a VoIP offload engine 216, at least oneCPU 218, a partitioned portion of memory 210 b, and an I/O device 220,namely a NIC. Platform topology 200 shows sequestered partition 204having one CPU for illustrative purposes only. One skilled in therelevant art(s) would know that more than one CPU may be used bysequestered partition 204 without departing from the scope ofembodiments of the present invention. Although platform topology 200illustrates a NIC as the only I/O device for sequestered partition 204,more than one NIC as well as other types of I/O devices may be used aswell, such as, for example, a hard drive, flash memory, a keyboard, amouse, etc.

With platform topology 200, main partition 202 may have reason to useVoIP functionality. Thus, with this embodiment, components, such as, forexample, VoIP offload engine 216 and NIC 220 within sequesteredpartition 204 are not solely dedicated to sequestered partition 204, andtherefore, may be utilized by main partition 202. In this instance, anInter-Partition Bridge (IPB) 222 is used to communicate between mainpartition 202 and sequestered partition 204. Prior to launching VoIPoffload engine 216, Inter-Partition Bridge routing must be establishedfor sequestered partition 204. In other words, a method for routingrequests/results to and from sequestered partition 204 for use ofcomponents within sequestered partition 204 by main partition 202 mustbe established. Once the IPB routing has been established, VoIP offloadengine 216 may be loaded into memory and launched. A routing mechanismmust also be established for NIC 220 so that sequestered partition 204may have priority status to receive the attention of NIC 220 when it isnot purely dedicated to sequestered partition 204.

Embodiments of the present invention can also be implemented in avirtualized platform topology. FIG. 3 is a block diagram implementationof an embodiment of the present invention in a virtualized environmentaccording to an embodiment of the present invention. Virtualizedplatform topology 300 comprises a virtual machine 302, main partition304, and a virtual machine monitor 306 coupled to both virtual machine302 and main partition 304. Virtual machine monitor 306 is also coupledto platform hardware 308, such as, for example, memory and an AGP via aMCH, and I/O devices, such as NICs, hard drives, flash memory,keyboards, mouses, etc. via an ICH. The MCH is coupled to the ICH, asshown in FIG. 1, and together form a chipset.

Virtual machine 302 may be a virtualized operating environment that maybe processed using a processor, such as, but not limited to, an Intel®Xeon processor manufactured by Intel® Corporation located in SantaClara, Calif. Virtual machine 302 includes a real-time operating systemand associated VoIP application software. In an embodiment, one or morevirtual machines may be used, with each virtual machine operating on thesame host machine. In this instance, VMM 306 may be used to arbitratefor resources.

Platform 300 may also include a VoIP offload engine 310. As previouslyindicated, VoIP offload engine 310 allows telephony usage over an IP(Internet Protocol) network through the digitization and packetizationof voice transmissions. VOIP engine 310 converts analog voice signals todigital signals. The digital signals are then compressed and translatedinto digital packets for transmission over the Internet to a receiver.The receiver can then decompress and depacketize the data back into ananalog signal for listening over a speaker, earpiece, or any otherdevice that enables one to hear analog signals. In one embodiment, VoIPoffload engine 310 (shown in phantom) may reside in virtual machine 302.

In another embodiment, VoIP offload engine 310 (shown in phantom) mayreside in virtual machine monitor 306. Virtual Machine Monitor (VMM) 306may be used to access platform resources on platform hardware 308 amongmultiple OSs that are used by virtual machine 302 and main partition304. In embodiments where I/O devices, such as, for example, NIC 122 inFIG. 1, are solely dedicated to virtual machine 302 for VoIPfunctionality, VMM 306 makes sure that main partition 304 is unaware ofNIC 122, and therefore, may not be used by main partition 304. Inembodiments where main partition 304 may have the ability to use VoIPfunctionality, VMM 306 acts as an Inter-Partition Bridge (IPB) toprovide a communication link between virtual machine 302 and mainpartition 304. In this instance, VMM 306 may establish a routingmechanism for NIC 122 so that a VoIP agent will have priority over NIC122 when NIC 122 is not purely dedicated to virtual machine 302.

FIGS. 4A and 4B are a flow diagram 400 describing an exemplary methodfor enabling a VoIP offload engine in a sequestered partition accordingto an embodiment of the present invention. Flow diagram 400 provides amethod that can be utilized in a virtualization environment as well. Theinvention is not limited to the embodiment described herein with respectto flow diagram 400. Rather, it will be apparent to persons skilled inthe relevant art(s) after reading the teachings provided herein thatother functional flow diagrams are within the scope of the invention.The process begins with system power-on at block 402 in FIG. 4A, wherethe process immediately proceeds to block 404.

In block 404, the platform initializes its underlying infrastructure ina manner well known to those skilled in the relevant art(s). The processthen proceeds to decision block 406.

In decision block 406, it is determined whether the platform supportsVoIP offload capabilities. If the platform does support VoIP offloadcapabilities, the process proceeds to decision block 408.

In decision block 408, it is determined whether the sequesteredpartition provides for shared I/O devices or dedicated I/O devices. Ifit is determined that the sequestered partition provides for shared I/Odevices, then the process proceeds to block 410.

In the block 410, IPB routing is established for the sequesteredpartition to enable communications between the sequestered partition andthe main partition. A routing mechanism is also established that givespriority to the sequestered partition for I/O devices that are notsolely dedicated to the sequestered partition. The process then proceedsto block 412.

Returning to decision block 408, if it is determined that thesequestered partition provides for dedicated I/O devices, then theprocess proceeds to block 412.

In block 412, the VoIP offload engine is loaded and launched. Theprocess then proceeds to decision block 414.

In decision block 414, it is determined whether a VoIP platform agent isreceiving any VoIP activity. If the VoIP platform agent is not receivingany VoIP activity, then the process remains at decision block 414 untilVoIP activity is received. If the VoIP platform agent is receiving VoIPactivity, then the process proceeds to block 416.

In block 416, a high frequency polling of transactional VoIP packets isestablished to permit real-time disbursement of data. Thus, once VoIPactivity occurs, higher priority is given to polling for VoIPtransactions so that more bandwidth can be given to VoIP transactionsversus other lower priority transactions. The process then proceeds todecision block 418.

In decision block 418, it is determined whether an inbound VoIP call isbeing initiated. If it is determined that an inbound VoIP call is notbeing initiated, the process proceeds to decision block 420.

In decision block 420, it is determined whether an outbound VoIP call isbeing initiated. If it is determined that an outbound VoIP call is notbeing initiated, then the process proceeds to block 422.

In block 422, VoIP packets from a current VoIP session are processedusing a connection-based handshake. The process then proceeds back todecision block 414, where it is determined whether the VoIP platformagent is receiving any VoIP activity.

Returning to decision block 420, if it is determined that an outboundcall is being initiated, then the process proceeds to block 424 in FIG.4B. In block 424, a variety of ICMP (Internet Control Message Protocol)Echo messages are established to determine which gateway route has thefastest access to the caller. Once a determination of the fastest routehas been established, a streaming connection to the target caller ismade using the requisite VoIP protocol. The process then proceeds todecision block 426.

In decision block 426, it is determined whether a connection is beingestablished with a peer. If it is determined that a connection is beingestablished with a peer, the process proceeds to block 428.

Returning to decision block 418 in FIG. 4A, if it is determined that aninbound VoIP call is being initiated, then the process proceeds to block428 in FIG. 4B.

In block 428, a connection is established to transport the data throughusing a digitization standard, such as, but not limited to, G.711,G.729, or any other possible digitization standards. In one embodiment,the established connection is via UDP (User Datagram Protocol). G.711 isan international standard for encoding telephone audio on a 64 kbps(kilo-bits per second) channel as used in a PSTN (Public SwitchedTelephone Network) network or POTS (Plain Old Telephone Service). G.729is a narrow band voice codec that has been used in some VoIPapplications. G.729 samples at 8 kHz (kilo Hertz), and operates on 16bits per sample. The process then proceeds to decision block 430.

Returning to decision block 426, if it is determined that a connectionis not being established with a peer, the process proceeds to decisionblock 430.

In decision block 430, it is determined whether a connection isdisconnecting from a peer. If it is determined that a connection is notdisconnecting from a peer, the process proceeds back to decision block414 in FIG. 4A, where it is determined whether the VoIP platform agentis receiving any VoIP activity.

Returning to decision block 430 in FIG. 4B, if it is determined that aconnection is disconnecting from a peer, the process proceeds to block432. In block 432, internal connection data settings are reset andstandard polling for a VoIP alert is re-established.

Returning back to decision block 406 in FIG. 4A, if it is determinedthat the platform does not support VoIP offload capabilities, theprocess then proceeds to block 434 in FIG. 4B. In block 434, theplatform continues to operate in a well known manner that does notinvolve VoIP offload capabilities.

Embodiments of the present invention may be implemented using hardware,software, or a combination thereof and may be implemented in one or morecomputer systems, as shown in FIG. 1, or other processing systems. Thetechniques described herein may find applicability in any computing,consumer electronics, or processing environment. The techniques may beimplemented in programs executing on programmable machines such asmobile or stationary computers, personal digital assistants, set topboxes, cellular telephones and pagers, consumer electronics devices(including DVD (Digital Video Disc) players, personal video recorders,personal video players, satellite receivers, stereo receivers, cable TVreceivers), and other electronic devices that may include at least oneprocessor core, a storage medium accessible by the processor core(including volatile and non-volatile memory and/or storage elements), atleast one input device, and one or more output devices. Program code isapplied to the data entered using the input device to perform thefunctions described and to generate output information. The outputinformation may be applied to one or more output devices. One ofordinary skill in the art may appreciate that the invention can bepracticed with various system configurations, including multiprocessorsystems, minicomputers, mainframe computers, independent consumerelectronics devices, and the like. The invention can also be practicedin distributed computing environments where tasks or portions thereofmay be performed by remote processing devices that are linked through acommunications network.

Each program may be implemented in a high level procedural or objectoriented programming language to communicate with a processing system.However, programs may be implemented in assembly or machine language, ifdesired. In any case, the language may be compiled or interpreted.

Program instructions may be used to cause a general-purpose orspecial-purpose processing system that is programmed with theinstructions to perform the operations described herein. Alternatively,the operations may be performed by specific hardware components thatcontain hardwired logic for performing the operations, or by anycombination of programmed computer components and custom hardwarecomponents. The methods described herein may be provided as a computerprogram product that may include a machine accessible medium havingstored thereon instructions that may be used to program a processingsystem or other electronic device to perform the methods. The term“machine accessible medium” used herein shall include any medium that iscapable of storing or encoding a sequence of instructions for executionby the machine and that cause the machine to perform any one of themethods described herein. The term “machine accessible medium” shallaccordingly include, but not be limited to, solid-state memories,optical and magnetic disks, and a carrier wave that encodes a datasignal. Furthermore, it is common in the art to speak of software, inone form or another (e.g., program, procedure, process, application,module, logic, and so on) as taking an action or causing a result. Suchexpressions are merely a shorthand way of stating the execution of thesoftware by a processing system to cause the processor to perform anaction or produce a result.

While various embodiments of the present invention have been describedabove, it should be understood that they have been presented by way ofexample only, and not limitation. It will be understood by those skilledin the art that various changes in form and details may be made thereinwithout departing from the spirit and scope of the invention as definedin the appended claims. Thus, the breadth and scope of the presentinvention should not be limited by any of the above-described exemplaryembodiments, but should be defined in accordance with the followingclaims and their equivalents.

1. A computer comprising: a first network interface card (NIC); a secondNIC separate from the first NIC; a plurality of core processors; amemory communicatively coupled to the plurality of core processors, thememory including a plurality of instructions that in response to beingexecuted cause the computer to: establish a main partition to performmultiple functions apart and distinct from Voice-over-Internet Protocol(VoIP) processing, the main partition being assigned a first portion ofthe plurality of core processors; dedicate the first NIC to the mainpartition; establish a sequestered partition dedicated solely to VoIPprocessing, the sequestered partition being assigned a second portion ofthe plurality of core processors; dedicate the second NIC solely to thesequestered partition to facilitate VoIP communications; and executing acontrolled, real-time operating system in the sequestered partition, thecontrolled, real-time operating system being solely dedicated toexecuting VoIP applications.
 2. The computer of claim 1, wherein theplurality of instructions further cause the computer to establish a VoIPoffload engine in the sequestered partition.
 3. The computer of claim 2,wherein to establish a VoIP offload engine comprises to establish a VoIPoffload engine to perform all VoIP functions of the computer.
 4. Thecomputer of claim 1, wherein the plurality of instructions further causethe computer to establish an Inter-Partition Bridge (IPB) to enablecommunications between the main partition and the sequestered partition.5. The computer platform of claim 4, wherein the plurality ofinstructions further cause the computer to establish IPB routing toenable use of components within the sequestered partition by the mainpartition.
 6. The computer of claim 1, wherein the sequestered partitioncomprises a virtual machine coupled to a virtual machine monitor, thevirtual machine to be a virtualized operating environment having thecontrolled, real-time operating system and the VoIP applications,wherein the virtual machine monitor to enable access to platformresources.
 7. The computer of claim 6, wherein the virtual machineincludes the VoIP engine.
 8. The computer of claim 6, wherein thevirtual machine monitor includes the VoIP engine.
 9. The computer ofclaim 1, wherein the main partition in unaware of the existence of thesequestered partition.
 10. The computer of claim 1, further comprising athird NIC separate from the first and second NICs, the third NIC beingdedicated to the main partition.
 11. A method for Voice over InternetProtocol (VoIP) processing on a computer, the method comprising:establishing a main partition to perform multiple functions apart anddistinct from VoIP processing, the main partition having one or morecore processors; establishing a sequestered partition dedicated toperforming all VoIP processing of the computer, the sequesteredpartition having one or more core processors; executing a controlled,real-time operating system in the sequestered partition, the controlled,real-time operating system being solely dedicated to executing VoIPapplications; and establishing a VoIP offload engine in the sequesteredpartition, wherein the main partition is unaware of the existence of thesequestered partition and all VoIP processing performed on the computeris performed by the VoIP offload engine.
 12. The method of claim 11,further comprising: determining whether the VoIP offload engine isreceiving VoIP activity, and establishing a high frequency polling oftransactional VoIP packets to permit real-time disbursement of data inresponse to the VoIP offload engine receiving VoIP activity.
 13. Themethod of claim 12, further comprising: determining whether an outputVoIP call is being initiated; and establishing a variety of InternetControl Message Protocol (ICMP) echo messages to determine which gatewayroute has the fastest access to a target caller and establishing astreaming connection to the target caller using a VoIP protocol inresponse to the output VoIP call being initiated.
 14. The method ofclaim 12, further comprising: determining whether an inbound VoIP callis being initiated; and transporting VoIP data using a digitizationstandard in response to the inbound VoIP call being initiated.
 15. Themethod of claim 14, wherein the digitization standard comprises one ofG.711 and G.729 digitization standards.
 16. An article comprising: atangible, non-transitory storage medium having a plurality of machineaccessible instructions, wherein when the instructions are executed by acomputer, the instructions provide for: establishing a main partition toperform multiple functions apart and distinct from VoIP processing, themain partition having one or more core processors; establishing asequestered partition dedicated to performing all VoIP processing of thecomputer, the sequestered partition having one or more core processors;executing a controlled, real-time operating system in the sequesteredpartition, the controlled, real-time operating system being solelydedicated to executing VoIP applications; and establishing a VoIPoffload engine in the sequestered partition, wherein the main partitionis unaware of the existence of the sequestered partition and all VoIPprocessing performed on the computer is performed by the VoIP offloadengine.
 17. The article of claim of claim 16, wherein the instructionfurther provide for: determining whether the VoIP offload engine isreceiving VoIP activity, and establishing a high frequency polling oftransactional VoIP packets to permit real-time disbursement of data inresponse to the VoIP offload engine receiving VoIP activity.
 18. Themethod of claim 17, wherein the instruction further provide for:determining whether an output VoIP call is being initiated; andestablishing a variety of Internet Control Message Protocol (ICMP) echomessages to determine which gateway route has the fastest access to atarget caller and establishing a streaming connection to the targetcaller using a VoIP protocol in response to the output VoIP call beinginitiated.
 19. The method of claim 17, wherein the instruction furtherprovide for: determining whether an inbound VoIP call is beinginitiated; and transporting VoIP data using a digitization standard inresponse to the inbound VoIP call being initiated.
 20. The method ofclaim 19, wherein the digitization standard comprises one of G.711 andG.729 digitization standards.